// samsting : this file is auto create.

#include "Emr/2015-09-10/ListConfigTypeResponse.h"

namespace aliyun { namespace Emr {

ListConfigTypeResponse::ListConfigTypeResponse() {
}

const string& ListConfigTypeResponse::SecurityGroupType::GetName(void) const {
  return Name_;
}

const string& ListConfigTypeResponse::SecurityGroupType::GetState(void) const {
  return State_;
}

const string& ListConfigTypeResponse::SecurityGroupType::GetId(void) const {
  return Id_;
}

const string& ListConfigTypeResponse::InstanceType::GetClassify(void) const {
  return Classify_;
}

const string& ListConfigTypeResponse::InstanceType::GetState(void) const {
  return State_;
}

const string& ListConfigTypeResponse::InstanceType::GetType(void) const {
  return Type_;
}

const string& ListConfigTypeResponse::InstanceType::GetCpuCore(void) const {
  return CpuCore_;
}

const string& ListConfigTypeResponse::InstanceType::GetMemSize(void) const {
  return MemSize_;
}

bool ListConfigTypeResponse::InstanceType::GetHasCloudDisk(void) const {
  return HasCloudDisk_;
}

bool ListConfigTypeResponse::InstanceType::GetHasLocalDisk(void) const {
  return HasLocalDisk_;
}

bool ListConfigTypeResponse::InstanceType::GetHasLocalSSD(void) const {
  return HasLocalSSD_;
}

bool ListConfigTypeResponse::InstanceType::GetHasCloudSSD(void) const {
  return HasCloudSSD_;
}

const string& ListConfigTypeResponse::EmrVerType::SubModule::GetName(void) const {
  return Name_;
}

const string& ListConfigTypeResponse::EmrVerType::SubModule::GetRequired(void) const {
  return Required_;
}

const string& ListConfigTypeResponse::EmrVerType::SubModule::GetOptional(void) const {
  return Optional_;
}

const std::vector<ListConfigTypeResponse::EmrVerType::SubModule>& ListConfigTypeResponse::EmrVerType::GetSubModules(void) const {
  return SubModules_;
}

const string& ListConfigTypeResponse::EmrVerType::GetName(void) const {
  return Name_;
}

const std::vector<AvailableResourceCreateion>& ListConfigTypeResponse::ZoneType::GetAvailableResourceCreateionList(void) const {
  return AvailableResourceCreateionList_;
}

const std::vector<AvailableDiskCategories>& ListConfigTypeResponse::ZoneType::GetAvailableDiskCategoriesList(void) const {
  return AvailableDiskCategoriesList_;
}

const string& ListConfigTypeResponse::ZoneType::GetName(void) const {
  return Name_;
}

const string& ListConfigTypeResponse::ZoneType::GetId(void) const {
  return Id_;
}

const std::vector<ListConfigTypeResponse::SecurityGroupType>& ListConfigTypeResponse::GetsecurityGroupTypes(void) const {
  return securityGroupTypes_;
}

const std::vector<ListConfigTypeResponse::InstanceType>& ListConfigTypeResponse::GetinstanceTypes(void) const {
  return instanceTypes_;
}

const std::vector<ListConfigTypeResponse::EmrVerType>& ListConfigTypeResponse::GetEmrVerTypes(void) const {
  return EmrVerTypes_;
}

const std::vector<ListConfigTypeResponse::ZoneType>& ListConfigTypeResponse::GetZoneTypes(void) const {
  return ZoneTypes_;
}

const char* ListConfigTypeResponse::BaseKey(void) {
  return "ListConfigTypeResponse";
}

void ListConfigTypeResponse::UnmarshallerMap(std::map<string, string>& response_map) {
  int securityGroupTypes__length = 0;
  UnmarshallerInt(securityGroupTypes__length, response_map, "ListConfigTypeResponse.securityGroupTypes.Length");
  if(securityGroupTypes__length >= 0) {
    securityGroupTypes_.resize(securityGroupTypes__length);
    for(int i1 = 0; i1 < securityGroupTypes__length; i1++) {
      UnmarshallerString(securityGroupTypes_[i1].Name_, response_map, "ListConfigTypeResponse.securityGroupTypes["+string_ValueOfInt(i1)+"].Name");
      UnmarshallerString(securityGroupTypes_[i1].State_, response_map, "ListConfigTypeResponse.securityGroupTypes["+string_ValueOfInt(i1)+"].State");
      UnmarshallerString(securityGroupTypes_[i1].Id_, response_map, "ListConfigTypeResponse.securityGroupTypes["+string_ValueOfInt(i1)+"].Id");
    } // for(int i1 = 0; i1 < securityGroupTypes__length; i1++) {
  } // if(securityGroupTypes__length >= 0) {

  int instanceTypes__length = 0;
  UnmarshallerInt(instanceTypes__length, response_map, "ListConfigTypeResponse.instanceTypes.Length");
  if(instanceTypes__length >= 0) {
    instanceTypes_.resize(instanceTypes__length);
    for(int i1 = 0; i1 < instanceTypes__length; i1++) {
      UnmarshallerString(instanceTypes_[i1].Classify_, response_map, "ListConfigTypeResponse.instanceTypes["+string_ValueOfInt(i1)+"].Classify");
      UnmarshallerString(instanceTypes_[i1].State_, response_map, "ListConfigTypeResponse.instanceTypes["+string_ValueOfInt(i1)+"].State");
      UnmarshallerString(instanceTypes_[i1].Type_, response_map, "ListConfigTypeResponse.instanceTypes["+string_ValueOfInt(i1)+"].Type");
      UnmarshallerString(instanceTypes_[i1].CpuCore_, response_map, "ListConfigTypeResponse.instanceTypes["+string_ValueOfInt(i1)+"].CpuCore");
      UnmarshallerString(instanceTypes_[i1].MemSize_, response_map, "ListConfigTypeResponse.instanceTypes["+string_ValueOfInt(i1)+"].MemSize");
      UnmarshallerBool(instanceTypes_[i1].HasCloudDisk_, response_map, "ListConfigTypeResponse.instanceTypes["+string_ValueOfInt(i1)+"].HasCloudDisk");
      UnmarshallerBool(instanceTypes_[i1].HasLocalDisk_, response_map, "ListConfigTypeResponse.instanceTypes["+string_ValueOfInt(i1)+"].HasLocalDisk");
      UnmarshallerBool(instanceTypes_[i1].HasLocalSSD_, response_map, "ListConfigTypeResponse.instanceTypes["+string_ValueOfInt(i1)+"].HasLocalSSD");
      UnmarshallerBool(instanceTypes_[i1].HasCloudSSD_, response_map, "ListConfigTypeResponse.instanceTypes["+string_ValueOfInt(i1)+"].HasCloudSSD");
    } // for(int i1 = 0; i1 < instanceTypes__length; i1++) {
  } // if(instanceTypes__length >= 0) {

  int EmrVerTypes__length = 0;
  UnmarshallerInt(EmrVerTypes__length, response_map, "ListConfigTypeResponse.EmrVerTypes.Length");
  if(EmrVerTypes__length >= 0) {
    EmrVerTypes_.resize(EmrVerTypes__length);
    for(int i1 = 0; i1 < EmrVerTypes__length; i1++) {
      int EmrVerTypes_i1_SubModules__length = 0;
      UnmarshallerInt(EmrVerTypes_i1_SubModules__length, response_map, "ListConfigTypeResponse.EmrVerTypes[+"+string_ValueOfInt(i1)+"].SubModules.Length");
      if(EmrVerTypes_i1_SubModules__length >= 0) {
        EmrVerTypes_[i1].SubModules_.resize(EmrVerTypes_i1_SubModules__length);
        for(int i2 = 0; i2 < EmrVerTypes_i1_SubModules__length; i2++) {
          UnmarshallerString(EmrVerTypes_[i1].SubModules_[i2].Name_, response_map, "ListConfigTypeResponse.EmrVerTypes[+"+string_ValueOfInt(i1)+"].SubModules["+string_ValueOfInt(i2)+"].Name");
          UnmarshallerString(EmrVerTypes_[i1].SubModules_[i2].Required_, response_map, "ListConfigTypeResponse.EmrVerTypes[+"+string_ValueOfInt(i1)+"].SubModules["+string_ValueOfInt(i2)+"].Required");
          UnmarshallerString(EmrVerTypes_[i1].SubModules_[i2].Optional_, response_map, "ListConfigTypeResponse.EmrVerTypes[+"+string_ValueOfInt(i1)+"].SubModules["+string_ValueOfInt(i2)+"].Optional");
        } // for(int i2 = 0; i2 < EmrVerTypes_i1_SubModules__length; i2++) {
      } // if(EmrVerTypes_i1_SubModules__length >= 0) {

      UnmarshallerString(EmrVerTypes_[i1].Name_, response_map, "ListConfigTypeResponse.EmrVerTypes["+string_ValueOfInt(i1)+"].Name");
    } // for(int i1 = 0; i1 < EmrVerTypes__length; i1++) {
  } // if(EmrVerTypes__length >= 0) {

  int ZoneTypes__length = 0;
  UnmarshallerInt(ZoneTypes__length, response_map, "ListConfigTypeResponse.ZoneTypes.Length");
  if(ZoneTypes__length >= 0) {
    ZoneTypes_.resize(ZoneTypes__length);
    for(int i1 = 0; i1 < ZoneTypes__length; i1++) {
      int ZoneTypes_i1_AvailableResourceCreateionList__length = 0;
      UnmarshallerInt(ZoneTypes_i1_AvailableResourceCreateionList__length, response_map, "ListConfigTypeResponse.ZoneTypes[+"+string_ValueOfInt(i1)+"].AvailableResourceCreateionList.Length");
      if(ZoneTypes_i1_AvailableResourceCreateionList__length >= 0) {
        ZoneTypes_[i1].AvailableResourceCreateionList_.resize(ZoneTypes_i1_AvailableResourceCreateionList__length);
        for(int i2 = 0; i2 < ZoneTypes_i1_AvailableResourceCreateionList__length; i2++) {
          UnmarshallerString(ZoneTypes_[i1].AvailableResourceCreateionList_[i2], response_map, "ListConfigTypeResponse.ZoneTypes[+"+string_ValueOfInt(i1)+"].AvailableResourceCreateionList["+string_ValueOfInt(i2)+"]");
        } // for(int i2 = 0; i2 < ZoneTypes_i1_AvailableResourceCreateionList__length; i2++) {
      } // if(ZoneTypes_i1_AvailableResourceCreateionList__length >= 0) {

      int ZoneTypes_i1_AvailableDiskCategoriesList__length = 0;
      UnmarshallerInt(ZoneTypes_i1_AvailableDiskCategoriesList__length, response_map, "ListConfigTypeResponse.ZoneTypes[+"+string_ValueOfInt(i1)+"].AvailableDiskCategoriesList.Length");
      if(ZoneTypes_i1_AvailableDiskCategoriesList__length >= 0) {
        ZoneTypes_[i1].AvailableDiskCategoriesList_.resize(ZoneTypes_i1_AvailableDiskCategoriesList__length);
        for(int i2 = 0; i2 < ZoneTypes_i1_AvailableDiskCategoriesList__length; i2++) {
          UnmarshallerString(ZoneTypes_[i1].AvailableDiskCategoriesList_[i2], response_map, "ListConfigTypeResponse.ZoneTypes[+"+string_ValueOfInt(i1)+"].AvailableDiskCategoriesList["+string_ValueOfInt(i2)+"]");
        } // for(int i2 = 0; i2 < ZoneTypes_i1_AvailableDiskCategoriesList__length; i2++) {
      } // if(ZoneTypes_i1_AvailableDiskCategoriesList__length >= 0) {

      UnmarshallerString(ZoneTypes_[i1].Name_, response_map, "ListConfigTypeResponse.ZoneTypes["+string_ValueOfInt(i1)+"].Name");
      UnmarshallerString(ZoneTypes_[i1].Id_, response_map, "ListConfigTypeResponse.ZoneTypes["+string_ValueOfInt(i1)+"].Id");
    } // for(int i1 = 0; i1 < ZoneTypes__length; i1++) {
  } // if(ZoneTypes__length >= 0) {

}


} } // namespace aliyun { namespace Emr {

// end of file 
